/**
 * 项目名称:
 *
 * @Author: 夏国倩
 * @Date: 2023/9/20 10:26
 * @Copyright
 */
package Collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Iterator1 {
    /*
    集合中的迭代器
     获取集合中的元素
     接口Iterator两个抽象方法
      hasNext()判断集合中还有没有可以被取出的元素，如果有返回true
      next() 取出集合中的下一个元素

      Iterator接口，找实现类
      Collection接口定义方法
      Iterator iterator()
      ArrayList重写方法Iterator(),返回了Iterator接口的实现类的对象
      使用ArrayList集合的对象
      Iterator it=array.iterator(),运行结果就是Iterator接口实现类的对象
      it是接口实现类对象，调用方法hasNext()和nest集合元素迭代
     */
    public static void main(String[] args) {
        Collection<String> coll=new ArrayList<String>();
        coll.add("abc1");
        coll.add("abc2");
        coll.add("abc3");
        coll.add("abc4");
        coll.add("abc5");
        //迭代器，对集合ArrayList的元素进行取出
        //调用集合的方法Iterator()获取出Iterator接口的实现类的对象
        Iterator<String> it=coll.iterator();

        //接口实现类对象，调用方法hasNext()判断集合中是否有元素
        boolean b=it.hasNext();
        System.out.println(b); //true
        //接口的实现类对象，调用方法next()取出集合中的元素
        String s=it.next();
        System.out.println(s); //abc1

        //迭代是反复内容，使用循环实现，循环的条件：集合没有元素，hasNext()返回false
        while (it.hasNext()){
            String a= it.next();
            System.out.println(a);
        }
    }
}
